package com.shopping.mall.core.module.saleData.service;

import com.shopping.mall.base.http.Result;
import com.shopping.mall.core.module.ipAddress.entity.IpAddress;
import com.shopping.mall.core.module.order.entity.Order;
import com.shopping.mall.core.module.saleData.entity.SaleData;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shopping.mall.core.module.saleData.entity.SaleDataQueryVO;

import java.util.List;

/**
 * <p>
 * SaleData服务类
 * </p>
 *
 * @author zzy
 * @date 2021-09-01
 */
public interface SaleDataService extends IService<SaleData> {

    /**
    * 分页查询
    * @param current ：页码
    * @param size ：每页条数
    * @param saleData ：筛选条件
    * @return IPage<SaleData>
    */
    IPage<SaleData> getSaleDataPage(Integer current, Integer size, SaleDataQueryVO saleData);

    /**
    * 查询所有
    * @param saleData ：筛选条件
    * @return List<SaleData>
    */
    List<SaleData> getAll(SaleDataQueryVO saleData);

    /**
    * 通过id删除
    * @param id：saleDataId
    * @return Result<Object>
    */
    Result<Object> deleteById(String id);

    /**
    * 批量删除
    * @param ids：id列表
    * @return Result<Object>
    */
    Result<Object> batchDelete(List<String> ids);

    void addOrder(Order oldOrder);

    void refund(Order oldOrder);

    void delivery(Order order);

    void visitPage(IpAddress ipAddress);

    void visit();
}
